約 3,169,051 件
https://w.atwiki.jp/oraclesoa/pages/7.html
Oracle Web Services Manager
https://w.atwiki.jp/oraclesoa/pages/8.html
Oracle BAM
https://w.atwiki.jp/mekagazira/pages/19.html
目次 目次 メモ データベースの種類 ちょいメモ(Bronze SQL基礎I) ちょいメモ(Bronze DBA11g) ちょいメモ(Silver DBA11g) 用語 Oracleのマニュアル 参考ページ メモ set linesize 1000 set pagesize 10000 set pages 10000 line 600 データベースの種類 リレーショナルデータベース・・・データが2次元の表形式をとり、データ間の関連をポインタでなく、データを使って表現する\_( ゚ロ゚)ここ重要 階層型・・・ツリー上の構造をとり、ポインタによってデータが結合されている。データのアクセスには、親データから辿って行かなければならない。つまりデータのアクセスは、親データが入り口となる ネットワーク型・・・ポインタを相互に組み込んで、網の目のような構造をとる。従属データは複数の親データを持つことができ、どのデータもアクセスの入り口となる事が出来る ちょいメモ(Bronze SQL基礎I) リテラル文字列は、一重引用符で囲む(ただし数値の場合は、囲む必要はない) 列別名の大文字小文字をくべつするときは一重引用符ではなく、二重引用符で囲みます。 「BETWEEN a AND b」は、「列 = a AND 列 = b」と同じ結果になり、上限と下限を含む。 「a NOT BETWEEN x AND y」は、「a x OR a y」 NOT LIKE条件では、NULL値のデータ検索は出来ない。 NVL ( expr1 , expr2 ) ・・・式 expr1 が NULL なら expr2 の値を戻す。Null Value Logic の略 グループ関数を使用した場合、SELECT句のグループ関数でない列はすべてGROUP BY句に指定する必要がある GROUP BY 句 がない場合の AVG(集計関数) 一般的にはグループ単位の平均を求める。⇒ GROUP BY 句 を使用していない場合には選択による結果セット(条件によって選択されたレコード) を1つのグループとして全体の平均を1レコード戻す。 列別名はデフォルトでは大文字で表現されます。大文字/小文字を区別したり、スペースや特殊記号(#や$など)を使用したりする場合は、二重引用符(")で列別名の前後を囲む必要があります LIKE演算子を使用してパターン検索を行う際に%や_をエスケープするために、ESCAPEオプションを使用して任意の文字をエスケープ文字として指定する。 SELECT ename FROM emp WHERE ename LIKE M\_% ESCAPE \ ; 日付の加算/減算 日付は数値の加算と減算のように 日付値に +1 することで 1日後、-1 することで 1日前のように加減算できる。 1秒後の求めるには 1/24/60/60 のように 1/86400 日を加算することで、1分後も同様に 1/24/60 を加算、1時間後も 1/24 を加算することで求めることができる。 日付を小数にして加減算する場合には理解しやすくするために datetime + 1/24/60/60 や datetime + 1/(24*60*60) のような表記をすることが多い。 select to_date( 2005/03/12 21 25 06 , YYYY/MM/DD HH24 MI SS ) + 1/24 from dual 単一行関数のネストには制限がないが、グループ関数のネストは2つまでである。 MAX関数は、文字データに使用した場合、アルファベット順に並べたとき最後に来る値を返す。なお、NULL値は無視される。 coalesce関数 (コウアレス)・・・与えられた引数のうち、NULLでない最初の引数を返す。 CASE式はANSI SQLに準拠、DECODE関数はOracle独自 指定した文字を取り除くには「TRIM( H from Hello World )」のように記述します。 TRIM( ABC )→ABC TRIM( x FROM xxABCxx )→ABC TRIM(LEADING x FROM xxABCxx )→ABCxx TRIM(TRAILING x FROM xxABCxx )→xxABC 日時書式要素の接尾辞…日時書式要素に付加できる接尾辞 TH 序数 DDTH 4TH SP フルスペルで表した数 DDSP FOUR SPTHまたはTHSP フルスペルで表した序数 DDSPTH FOURTH データ型CHARは、固定長の文字データ。サイズの指定を省略すると1バイト データ型VARCHAR2は、可変長の文字データ。サイズの指定を省略出来ない。サイズ指定必須。 データ型NUMBERは、精度と位取りのどちらも指定しない場合は、最大制度38の浮動小数となる。 列別名は、WHERE句では使用できない。SELECT句よりもWHERE句のほうが先に評価されるから ORDER BY句では、列別名を使用することが出来るが、GROUP BY句では列別名を使用することはできない。 GROUP BY句、ORDER BY句を併用する場合 通常、order by句は、select句で指定していない列にも使用可能でるが、group by句と併用する場合は、group by句で指定したいづれかの列しかORDER BY句に指定できない。 HAVING句は、GROUP BY句の前後どちらに記述してもOK 句を指定する順番 SELECT句 FROM句 WHERE句 GROUP BY句(HAVING句) HAVING句(GROUP BY句) ORDER BY句 SELECT句で指定していない列をHAVING句で条件付けすることも可能 HAVING句は、GROUP BY句がなくても記述する事が可能 FROM句で表別名を指定した場合、SELECT句WHERE句ON9では、その別名を使う必要がある。 SELECT句、HAVING句、ORDER BY句には、GROUP BY句で使用した列またはグループ関数が使用できる。(WHERE句では使えない。) USING句に指定した列は、そのSELECT文内のどこでも表名で修飾することができない。 自然結合の場合、結合列は、表名または別名で修飾してはいけない。(WHERE句でも列修飾は不要。FROM句でして指定した列と判断される) クロス結合の場合、両方の表に存在する列は、表名または表別名にて修飾する必要がある。 SEQUENCEに、CYCLEが設定されている場合、最大値に達した後は、MINVALUEの値から始まる。START WITHの値は関係ない!! 制約とデフォルトの書式 制約は定義の方法により、列制約と表制約に分類されます。 列制約は列のデータ型と同様に列の定義の中で制約を指定する方法です。表制約は列の定義とは別の場所で、表に対して制約を行います。 この2つには次のような違いがあります。 複数の列を指定する制約は、表制約でないと定義できない。 NOT NULL制約は列制約でないと定義できない。 NOT NULL制約 列制約 列名 データ型 [CONSTRAINT 制約名] NOT NULL 一意キー制約 列制約 列名 データ型 [CONSTRAINT 制約名] UNIQUE 表制約 [CONSTRAINT 制約名] UNIQUE (列名 [, 列名]...) 主キー制約 列制約 列名 データ型 [CONSTRAINT 制約名] PRIMARY KEY 表制約 [CONSTRAINT 制約名] PRIMARY KEY (列名 [, 列名]...) チェック制約 列制約 列名 データ型 [CONSTRAINT 制約名] CHECK (条件) 表制約 [CONSTRAINT 制約名] CHECK (条件) 参照整合性制約 列制約 列名 データ型 [CONSTRAINT 制約名] REFERENCES 親表名 (親キー列名) 表制約 [CONSTRAINT 制約名] FOREIGN KEY (外部キー列名 [, 外部キー列名]...)REFERENCES 親表名 (親キー列名 [, 親キー列名]...) デフォルト 列 列名 データ型 DEFAULT 値 曜日の表示を行う日付書式要素 D 曜日(1~7)。 DY 曜日の省略形。 DAY 曜日。空白を埋め込んで、この要素に使用される日付言語の一番長い曜日の幅で表示します。 月の表示を行う日付書式要素 月 MM 月を 2 桁であらわす (00 ~ 12) MON 月を省略名であらわす( 1月 ~ 12月 )。NLS_DATE_LANGUAGE などの初期化パラメータにより ( JAN ~ DEC ) に変化する。 最大桁数でフォーマットされる(後続スペースの付与)。 MONTH 月をフルスペルであらわす。日本語では関係なし( 1月 ~ 12月 ) ちょいメモ(Bronze DBA11g) データベース管理ツール Oracle Universal Installer(OUI) Database Configuration Assistant(DBCA) Database Upgrade Assistant(DBUA) Oracle Net Manager Oracle Enterprise Manager SQL*PlusとiSQL*Plus Recovery Manager(RMAN) Data Pump SQL*Loader 読み方 data pump データポンプ CREATE USERは、データ定義言語(DDL) Oracleインスタンスは、「システムグローバル領域(SGA)」と「バックグラウンドプロセス」から構成される。 プログラムグローバル領域(PGA)は、サーバプロセスに対して割り当てられる共有されないメモリ Oracleデータベースを構成するファイルは、「制御ファイル」、「データファイル」、「REDOログファイル」の3種類 インスタンスとは、「バックグラウンドプロセス群」+「共有メモリ」。イメージ的には、データベースを管理しているもの(プロセス+メモリ) 「NOMOUNT」状態は、インスタンスが機動した状態。 Oracle Universal Installer(OUI)を用いて、非対話形式のインストールを行う場合は、レスポンスファイルを使用する。 Linux環境で、Oracleをインストールする為には、以下のユーザ・グループが必要である。 Oracleユーザ・・・Oracleソフトウェアの所有者 oinstallグループ・・・Oracleイベントリグループ dbaグループ・・・OSDBAグループ root.shとorainstRoot.shスクリプトを、Oracleインストール時に実行する必要あり。 Oracle Enterprise Manager Database Control(Batabase Control または EM) Oracle Enterprise Manager Database Control(Batabase Control または EM)に初めからアクセス許可されているユーザ SYS・・・データディクショナリを構成する実表とビューを所有している SYSTEM・・・管理情報を格納する追加の表とビューおよび様々なOracleオプションとツールによって使用される内部表とビューを所有します。 SYSMAN・・・Oracle Enterprise Managerを使用して、データベースを操作するために使用します。 ★DBSNMPユーザは、EMへログインは可能。管理者権限は付与されていない。 Oracle Enterprise Manager Database Control(Batabase Control または EM)にログインして管理タスクを実行できるユーザを作成すると、以下のロールが付与される。 MGMT_USERロール クライアントが接続するOracleデータベース情報を解決する方法をネーミングメソッドと呼ぶ。 ディレクトリネーミング 名前解決にディレクトリサーバを使用する。名前解決情報を1箇所に集中させるため、ネットワーク構成の変更に柔軟。 LDAP(Lightweight Directory Access Protocol)はディレクトリサービスを提供するプロトコル。 外部ネーミング Network Information Service(NIS)などのOracle以外のネーミングサービスを使って名前解決解決する。 REDOログバッファは、データベース起動中にサイズを変更できません。 インスタンス起動時に読み込むファイルが、パラメータファイル ●サーバパラメータファイル(SPFILE) Oracleサーバによって読み書きが可能なバイナリーファイル。データベース起動中にコマンドで変更したパラメータ情報をほじするため、再起動時にも変更が有効となる。 手動では編集不可。テキスト初期化パラメータに優先して読み込まれる。 ●テキスト初期化パラメータファイル パラメータを記述したテキストファイル。Oracleサーバは読み込みは出来るが、書き込み不可。 手動では編集可能。編集した内容を反映させるには、データベースの再起動が必要。 自動共有メモリ管理では、SGA_TAGETパラメータで指定したサイズを元に、自動的に以下の領域に対してメモリを分配する。 共有プール データーベースバッファキャッシュ Javaプール ラージプール ※REDOログバッファは、自動共有メモリ管理の対象ではない。 LOG_BUFFERパラメータより、個別にサイズ調整する。 データーベースを起動するために必要な権限 SYSDBA SYSOPER ストライピング 1つのデータを2つ以上のハードディスクに分けて同時に書き込むこと。 ちょいメモ(Silver DBA11g) 制御ファイルの名前を確認する方法 V$CONTROLFILE ビュー show parameter control_filesコマンド 初期化パラメータファイル(CONTROL_FILES)で指定できる制御ファイルの数 1~8つのファイル名 初期化パラメータファイル(LOG_ARCHIVE_DEST_n)で指定できるアーカイブログファイル出力先 1~10つのファイル名 ブロック ファイルとメモリ間のI/Oの最小単位。SYSTEM表領域で使用するブロックサイズを標準ブロックサイズという。 標準以外のブロックサイズを使用する表領域も作成可能だが、標準ブロックサイズの変更は不可。 2KB、4KB、8KB、16KB、32KBのブロックサイズが指定できる。 エクステント オブジェクトの作成時に、表領域中にそのオブジェクト用に獲得する領域の最小単位。 エクステントは、複数のデータファイルにまたがることは出来ない。 1つの表領域内では、同一のブロックサイズでなければならない。 データディクショナリビューの一覧を取得する。 SELECT TABLE_NAME FROM DICTIONARY; Management Service Grid Control用のユーザインターフェースを提供するJ2EEWEBアプリケーションのこと。 ALTER SYSTEM SET ~ コマンド 初期化パラメータ を SQL から変更するコマンド ALTER SYSTEM SET には、 稼動しているインスタンス設定のみを変更する MEMORY スコープ 設定ファイルのみを変更する SPFILE スコープ その両方を設定する BOTH スコープがある。 ALTER SESSION文 データベースへの接続に影響するすべての条件またはパラメータを、設定または変更できます。 この文は、データベースとの接続を切断するまで有効です。 DBA_TABLESPACES データベース内の表領域をすべて表示 用語 リテラル文字・・・SELECT句に含まれた「文字、数字、日付」のこと。文字と日付のリテラルは、単一引用符( )で囲む必要がある Oracleのマニュアル ここから取ってきた リリース1とリリース2のものが混ざってます。 SQL リファレンス エラー・メッセージ アプリケーション開発者ガイド パフォーマンス・チューニング・ガイド データ・ウェアハウス・ガイド PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス グローバリゼーション・サポート・ガイド 概要(Oracle Database 概要マニュアル) 管理者ガイド リファレンス ユーティリティ 参考ページ ORACLE MASTER Bronze DBA講座(1) オラクル基本の落とし穴
https://w.atwiki.jp/tm-mura/pages/13.html
メニュー インストール/アンインストール インポート/エクスポート Oracleエラー 各種設定変更 パフォーマンスチューニング 各種調査 小技 こんな現象があったら SQLの評価順序 DB構築 DB構築2 表領域の名前の変更 パスワードの大文字小文字(11g) 2011-09-30 10 19 09 (Fri) -
https://w.atwiki.jp/tak_is/pages/15.html
Knowledge オブジェクト情報取得 オブジェクト間の依存情報取得 外部キーの情報を一覧で取得 tnsnames.oraの場所を探す Oracleが応答しない(Oracle11g) 異なるバージョンでのデータ移行 表領域の使用率確認・拡張 パスワードを無期限にする(11g) SQLパフォーマンス調査 インポート・エクスポートまとめ リスナーが起動しない(タイムアウトする) 小ネタ集 オラクルエラー対処法 障害発生時にすること ORA-12514(リスナー接続エラー) ORA-12516(Oracle接続不可) ORA-12528(Oracle起動エラー) ORA-00257(アーカイブログエラー) PL/SQL プログラミング SQLPlusでストアドを実行する ストアドからファイル出力する Triggerで自分自身のテーブルを参照する 全オブジェクト削除SQL その他 Oracleライセンス SQL*Plusを便利に使う フォルダ内のSQLファイルの一括実行 LinuxでOracleメモ
https://w.atwiki.jp/adsl243/pages/20.html
Enterprise Managerの使用ポート番号の確認 emctl status dbconsole 又は $ORACLE_HOME/hostname_SID/sysman/config/emd.properties のREPOSITORY_URLの項目から確認出来ます。 Enterprise Managerの使用ポート番号の変更 emca -reconfig ports -DBCONTROL_HTTP_PORT ポート番号 iSQL*Plus関連 サービスの開始 isqlplusctl start サービスの停止 isqlplusctl stop 接続先の変更(ポート番号orホスト名) ①と②のファイルを編集します。 ①vi $ORACLE_HOME¥hostname_SID¥sysman¥config¥emoms.properties 下記二点を編集 oracle.sysman.db.isqlplusUrl=http¥ //host.domain¥ 5560/isqlplus/dynamic oracle.sysman.db.isqlplusWebDBAUrl=http¥ //host.domain¥ 5560/isqlplus/dynamic ②vi $ORACLE_HOME¥oc4j¥j2ee¥isqlplus¥config¥http-web-site.xml web-site要素のport属性を変更 web-site port="5560" ...
https://w.atwiki.jp/yasrun/pages/21.html
各種調査方法 表領域・ユーザ作成 インポート・エクスポート POLTYPってなんだ? Win7だとOracleが謎のエラー(SP2-xxxx)
https://w.atwiki.jp/akubi/
本運用(?) 現在、本運用(?)ページとなっています 管理人Akubiの参加bandに関する告知ページのはずです 現在、oracleではDrumsの方を大募集中です 興味をもたれた方は是非ご連絡を! このサイトへのご意見、ツッコミ等は 下記のメールへお願いします oracle-wiki●mail.goo.ne.jp (スパム対策の為●を@に置き換えて送信ください) news 2005/12/27 サイト製作開始 コンテンツ イベント情報 Blog BBS all -
https://w.atwiki.jp/monkocho_0514/pages/19.html
マルチテナント ・CDBレベルで管理されるリソース(全DBで共有) ルートコンテナ(CDB$ROOT) ・SYSTEM表領域 ・SYSAUX表領域 ・UNDO表領域 ・REDOログファイル ・制御ファイル シードPDB(PDB$SEED) ・SYSTEM表領域 ・SYSAUX表領域 CDBレベルで管理される操作 PDBで実行可能な操作 マルチテナントアーキテクチャの利点 ・CDBの作成方法の特徴 SQLでCDBを作成する場合 1. enable_pluggable_database パラメータをTRUEに設定したインスタンスを起動 2. ENABLE PLUGGABLE DATABASE句を指定したCREATE DATABASE文を実行 $ cat initcdb3.ora db_create_file_dest= /u01/app/oracle/oradata db_name=cdb3 enable_pluggable_database=true $ export ORACLE_SID=cdb3 $ sqlplus / as sysdba SQL STARTUP MOUNT SQL CREATE DATABASE cdb3 ENABLE PLUGGABLE DATABASE 2 SEED SYSTEM DATAFILES SIZE 150M 3 SYSAUX DATAFILES SIZE 100M; SQL ( catalog.sqlなど実行) ・シードPDBのファイル配置を制御する要素 マルチテナント環境のデータディクショナリビュー CON_ID列(コンテナ番号)にはどんなものがあるか シードPDBのみ表領域を追加する方法 PDBを作成する方法 シードPDBからPDBを作成するとどうなるか 既存PDBをクローニングする場合の注意点 非CDBからPDBの作成はどのように行われるか 接続(プラグ)の条件 PDBの切断(UNPLUG)の注意点 PDBの削除(DROP)の注意点 CDBとPDBへの接続の特徴 PDBにサービスを追加するには PDB名を変更するには PDBの起動、停止方法 PDBの起動の特徴 PDBの自動起動の方法 PDBの停止の特徴 マルチテナントの初期化パラメータ変更はどこに保存されるか PDBでSCOPE=PFILEでパラメータを変更した場合の反映のされ方 PDBに接続してUNDO表領域を作成するとどうなるか マルチテナントの表領域とデータファイルの特徴 マルチテナントのデフォルト表領域、デフォルト永続表領域の特徴 マルチテナントの一時表領域、デフォルト一時表領域の特徴 マルチテナントの表領域のサイズ制限の方法 マルチテナントの共通ユーザ(C##xxx)の特徴 マルチテナントのローカルユーザの特徴 マルチテナントのCONTAINER=ALL句の特徴 マルチテナントのローカル権限と共通権限の特徴 ALTER SESSION SET CONTAINERによるコンテナ切替えの特徴は何か マルチテナントのOracleメタデータの特徴 CDBのバックアップ PDBのバックアップ マルチテナントの表領域のバックアップ マルチテナントのNOARCHIVELOGモード時のバックアップの注意点 マルチテナントのユーザー管理のバックアップ マルチテナントのインスタンス障害はどのレベルに影響するか マルチテナントの一時表領域のリカバリ方法 ルートコンテナのリカバリ方法 PDBの表領域のリカバリ方法 CDBレベルのDBPITR PDBレベルのPDBPITR マルチテナントの表領域レベルのTSPITR CDBのフラッシュバックデータベースはどのように実行されるか フラッシュバックアップ前にデータファイルの移動がある場合はどうなるか
https://w.atwiki.jp/kogo/pages/5.html
DBA表に対するオブジェクト権限を付与するSQLを既存環境からつくる SQLトレースを取るための準備 データファイルをいじる レコード長をざっくり計算 コアレス(連続領域をくっつける) インポートとエクスポート パッケージやファンクションの定義をみる PCTUSEDとPCTFREE テーブルが実際に使っている領域サイズ LOCK情報 セッション情報 指定したテーブルに付与されたインデックスをみる 現在実行されているSQL コンパイルされているソースを見る 表領域を指定して格納されているオブジェクト、サイズを見る 表領域ごとの空き容量 表領域ごとの使用率 表領域ごとの使用量、空き、無駄領域を計算する DBA 表に対するオブジェクト権限を付与するSQLを既存環境からつくる systemユーザでログインしてこのSQLを実行する SELECT GRANT || Privilege || ON || Table_Name || TO || grantee || ; FROM DBA_TAB_PRIVS WHERE grantor = {付与元ユーザ} AND grantee = {付与先ユーザ} ORDER BY grantee; 結果はこんな感じ。 GRANT ALTER ON emp TO {付与先ユーザ}; GRANT SELECT ON emp TO {付与先ユーザ}; GRANT INSERT ON emp TO {付与先ユーザ}; ... 付与元ユーザでログインしてこのSQLを実行する SQLトレースを取るための準備 autotraceに必要なロールを作成し、テーブルへの参照権限を与える SQL connect sys as sysdba パスワードを入力してください 接続されました。 SQL @/oracle/product/9.2.0/sqlplus/admin/plustrce.sql 検索を実行するユーザでplan_tableを作成 SQL connect user/pwd@sid SQL @/oracle/product/9.2.0/rdbms/admin/utlxplan.sql データファイルをいじる alter database datafile /oracle/dbf/tbs_test_01.dbf resize 40m; alter tablespace tbs_md01 add datafile /oracle/dbf/tbs_test_02.dbf size 20m; レコード長をざっくり計算 select count(*) as column_cnt, sum(DATA_LENGTH) as record_length from user_tab_columns where table_name = T_JYUTMISI date型は7byte、number型は一律22byteで計算してます。 コアレス(連続領域をくっつける) alter tablespace tbs_goto_hell coalesce; でも、領域のお尻しか消せない。真ん中に空いた穴はそのまま。 インポートとエクスポート imp {usr}/{pwd}@{sid} file=t_uri.dmp tables=T_uri log=imp_uri2.log ignore=y exp {usr}/{pwd}@{sid} file=t_uri.dmp tables=T_uri log=exp_uri.log direct=Y compress=Y ignoreオプションをつけると、tableが存在していても無理やり詰め込む パッケージやファンクションの定義をみる パッケージに含まれる関数・プロシージャのパラメータを一覧表示 select * from ALL_ARGUMENTS where package_name= PK_TEST order by position; パッケージ内の関数などを一覧表示 select PROCEDURE_NAME from ALL_PROCEDURES where object_name = PK_TEST ; PCTUSEDとPCTFREE PCTUSED(維持するべき使用率)が大きいブロックが満杯の状態を常に維持できる →全件検索には有利 INSERTのパフォーマンスは劣化する可能性あり →もともとDELETEされることがないなら、関係ない PCTFREE(データが増えた時のためにとる余裕%)が大きい更新によってレコード長が長くなる場合に向いている(移行行を防ぐことが できる) →UPDATEが行われない表には大きな値を設定する必要は無い。 ブロックに余裕がある(空いている領域が多い→レコードは多く格納されて いない) →全件検索が中心の表には不利(1ブロックあたりのレコード数が少ないという ことは同じ件数でも多くのブロックが必要) テーブルが実際に使っている領域サイズ SELECT DISTINCT a.OWNER, a.SEGMENT_TYPE, a.SEGMENT_NAME, c.CREATED, a.TABLESPACE_NAME, NVL(F.BYTES, 0) AS NO_USE_SIZE, NVL(G.BYTES, 0) AS TOTAL_SIZE , NVL(G.MAXBYTES,0) AS MAX_SIZE, (NVL(G.BYTES, 0) - NVL(F.BYTES, 0)) AS USE_SIZE , b.FILE_NAME, b.BYTES FROM dba_segments a, dba_data_files b, all_objects c, (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME ) F, (SELECT TABLESPACE_NAME, SUM(BYTES) BYTES, SUM(MAXBYTES) MAXBYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME ) G WHERE a.TABLESPACE_NAME = b.TABLESPACE_NAME AND a.SEGMENT_NAME = c.OBJECT_NAME AND a.OWNER = c.OWNER AND c.SUBOBJECT_NAME IS NULL AND a.TABLESPACE_NAME = f.TABLESPACE_NAME AND a.TABLESPACE_NAME = g.TABLESPACE_NAME AND c.OBJECT_NAME LIKE T_JYUT% ORDER BY a.OWNER, a.SEGMENT_TYPE, a.SEGMENT_NAME LOCK情報 col USERNAME heading ユーザ名 format a7 col to_char(LOGON_TIME, yyyy/mm/dd_hh24 mi ss ) heading 接続開始時刻 format a19 col SID heading SID format 999 col SERIAL# heading SERIAL# format 999999 col MACHINE format a15 col PROGRAM format a27 col STATUS format a8 col SERVER format a10 col OSUSER format a14 col OBJECT_NAME heading LOCK対象TBL format a20 set pagesize 999 set lin 120 prompt prompt === 接続ユーザ 一覧 === select USERNAME, SID, SERIAL#, to_char(LOGON_TIME, yyyy/mm/dd_hh24 mi ss ), STATUS, SERVER, OSUSER, MACHINE, PROGRAM from v$session where USERNAME is not null order by LOGON_TIME; prompt prompt === LOCK 一覧 === select a.USERNAME, a.SID, a.SERIAL#, a.OSUSER, a.MACHINE, a.PROGRAM, c.OBJECT_NAME from v$session a, v$lock b, dba_objects c where a.SID = b.SID and b.ID1 = c.OBJECT_ID and c.OBJECT_ID in ( select ID1 from v$lock where TYPE = TM ) order by b.SID, c.OBJECT_NAME; セッション情報 Oracleに接続中のセッション情報を表示する セッションを切断する場合、systemユーザでログインして以下のコマンドを発行する alter system kill session 下記SQLで取得したSID_SERIAL ; COLUMN SID_SERIAL FORMAT A15 COLUMN osuser FORMAT A15 COLUMN username FORMAT A10 Column status format a10 Column Program format a60 SET PAGES 33 SET LINE 4000 SELECT sid || , || serial# AS SID_SERIAL, username , status , osuser, program,to_char(LOGON_TIME, mm/dd hh24 mi ) FROM V$SESSION; 指定したテーブルに付与されたインデックスをみる COLUMN TABLE_OWNER FORMAT A10 COLUMN TABLE_NAME FORMAT A15 COLUMN INDEX_NAME FORMAT A20 COLUMN COLUMN_NAME FORMAT A20 COLUMN COLUMN_POSITION FORMAT 99 set line 2000 SELECT TABLE_OWNER , TABLE_NAME , INDEX_NAME , COLUMN_NAME , COLUMN_POSITION FROM ALL_IND_COLUMNS WHERE TABLE_OWNER like UPPER( TableOwner ) AND TABLE_NAME like UPPER( TableName ) ORDER BY TABLE_NAME , INDEX_NAME , COLUMN_POSITION 現在実行されているSQL set pagesize 999 set lin 120 col USERNAME format a9 col SID format 999 col SERIAL# format 999999 col OSUSER format a15 col SQL_TEXT format a70 SELECT S.USERNAME, S.OSUSER, S.SID, S.SERIAL#, T.ADDRESS, T.SQL_TEXT FROM V$SQLTEXT T, V$SESSION S WHERE S.SQL_ADDRESS = T.ADDRESS AND S.SQL_HASH_VALUE = T.HASH_VALUE AND S.USERNAME is not null ORDER BY S.OSUSER, T.ADDRESS, T.PIECE; コンパイルされているソースを見る set line 4000 set pages 0 select lpad(to_char(line),5, 0 ) || || text from all_source where owner = upper( uid ) and name like upper( % pk_name% ) and line = line_from and line = line_to and type = PACKAGE BODY / 表領域を指定して格納されているオブジェクト、サイズを見る set line 5000 col tablespace_name format a30 col SEGMENT_NAME format a30 select TABLESPACE_NAME ,SEGMENT_NAME ,FILE_ID ,BLOCK_ID ,BYTES/1024 AS SIZE_KB ,BLOCKS from DBA_EXTENTS where TABLESPACE_NAME = TBS_WK01_I union select TABLESPACE_NAME , free ,FILE_ID ,BLOCK_ID ,BYTES/1024 AS SIZE_KB ,BLOCKS from DBA_FREE_SPACE where TABLESPACE_NAME = TBS_WK01_I order by file_id,block_id 表領域ごとの空き容量 col tablespace_name format a30 col free_kb format 999,999,999,999,999 select TABLESPACE_NAME, SUM(FREE_KB) AS FREE_KB from ( select A.TABLESPACE_NAME ,A.BYTES/1024 AS FREE_KB from DBA_FREE_SPACE A, ( SELECT TABLESPACE_NAME,FILE_ID,MAX(BLOCK_ID) AS max_block FROM DBA_EXTENTS GROUP BY TABLESPACE_NAME,FILE_ID ) B where A.TABLESPACE_NAME = B.TABLESPACE_NAME and A.FILE_ID = B.FILE_ID and A.BLOCK_ID B.max_block ) GROUP BY TABLESPACE_NAME / 表領域ごとの使用率 col TABLESPACE_NAME format a20 col USED format a20 set line 2000 select A.TABLESPACE_NAME, A.INITIAL_EXTENT, A.NEXT_EXTENT, B.USED_SIZE_KB, To_Char( Round( B.USED_SIZE_KB / A.INITIAL_EXTENT * 100 ) ) || % AS USED from dba_tablespaces A, ( /* tablespaceの使用サイズを計算 */ select TABLESPACE_NAME, SUM(SIZE_KB) AS USED_SIZE_KB from ( select TABLESPACE_NAME ,SEGMENT_NAME ,FILE_ID ,BLOCK_ID ,BYTES/1024 AS SIZE_KB ,BLOCKS from DBA_EXTENTS union select TABLESPACE_NAME , free ,FILE_ID ,BLOCK_ID ,BYTES/1024 AS SIZE_KB ,BLOCKS from DBA_FREE_SPACE ) GROUP BY TABLESPACE_NAME ) B where A.TABLESPACE_NAME = B.TABLESPACE_NAME / 表領域ごとの使用量、空き、無駄領域を計算する set line 2000 col tablespace_name format a30 col data_kb format 999,999,999,999 col free_kb format 999,999,999,999 col lost_kb format 999,999,999,999 col used_pct format a10 select TABLESPACE_NAME, SUM(DATA_KB) AS DATA_KB, SUM(FREE_KB) AS FREE_KB, SUM(LOST_KB) AS LOST_KB, To_CHAR( Round( (SUM(DATA_KB) + SUM(LOST_KB)) / (SUM(DATA_KB) + SUM(FREE_KB) + SUM(LOST_KB)) * 100) ) || % AS USED_PCT from ( select TABLESPACE_NAME ,SEGMENT_NAME ,FILE_ID ,BLOCK_ID ,BYTES/1024 AS DATA_KB ,0 AS FREE_KB ,0 AS LOST_KB from DBA_EXTENTS union select A.TABLESPACE_NAME , free ,A.FILE_ID ,A.BLOCK_ID ,0 AS DATA_KB ,A.BYTES/1024 AS FREE_KB ,0 AS LOST_KB from DBA_FREE_SPACE A, ( SELECT TABLESPACE_NAME,FILE_ID,MAX(BLOCK_ID) AS max_block FROM DBA_EXTENTS GROUP BY TABLESPACE_NAME,FILE_ID ) B where A.TABLESPACE_NAME = B.TABLESPACE_NAME and A.FILE_ID = B.FILE_ID and A.BLOCK_ID B.max_block union select A.TABLESPACE_NAME , free ,A.FILE_ID ,A.BLOCK_ID ,0 AS DATA_KB ,0 AS FREE_KB ,A.BYTES/1024 AS LOST_KB from DBA_FREE_SPACE A, ( SELECT TABLESPACE_NAME,FILE_ID,MAX(BLOCK_ID) AS max_block FROM DBA_EXTENTS GROUP BY TABLESPACE_NAME,FILE_ID ) B where A.TABLESPACE_NAME = B.TABLESPACE_NAME and A.FILE_ID = B.FILE_ID and A.BLOCK_ID B.max_block ) GROUP BY TABLESPACE_NAME /